RighTime v5.06           Copyright 1991-97, The RighTime Co., Miami
March 30, 1997                                  All Rights Reserved


What is RighTime?

     RighTime is a resident real time clock correcting program for
DOS and Windows (including Windows 95), running on PC/AT-class
machines.  It corrects both operating system and CMOS Real Time
Clock (RTC) rate errors as large as 5.5 minutes per day, and it
increases the DOS clock resolution from about 0.055 second to 0.01
second.  It occupies only about 8.5K of system RAM and will load
itself high if sufficient high memory is available.  If RighTime is
installed as suggested, the system clock will behave as properly and
accurately as the system clock of a computer should.

     RighTime brings exceptional system time-of-day clock
performance to the machine with no additional hardware.  With
RighTime installed, the standard real time clock system becomes an
Adaptive Mathematically Compensated Crystal-controlled Oscillator
based clock.  RighTime can usually produce a system clock that keeps
time within 0.5 second per week or better (some users have reported
consistent rate accuracy of 0.07 second per week).  An error rate of
0.5 second per week is about 0.8 part per million, or more than 100
times better than an unconditioned crystal time base alone, or about
30 times better than a moderately conditioned one like a modern
watch of quality.  A technical paper about CMOS RTC and DOS clock
problems and RighTime's approach to solving them is part of this
package (RT2@PTTI.ZIP).


RighTime is distributed as shareware.  The evaluation version
allows a trial period of 90 days.  It is fully functional except
for one option, /V0.

     The following files are contained in the evaluation package
     distribution file:

	  RIGHTIME.COM                  RIGHTIME.TXT (this file)
	  RIGHTLOG.EXE                  TESTTIME.COM
	  TESTSTEP.EXE                  VIEWCMOS.EXE
	  RT2@PTTI.TXT                  SETUP.EXE
       README.TXT

	  MAKETAKE.TXT                  MAKEIRIG.EXE
	  TAKEIRIG.COM                  CLOCK.COM
       DAYLIGHT.COM

	  YEAR2000.COM                  YEAR2000.TXT

     If any of these files are missing, you do not have a complete
evaluation package.  A fresh distribution file of the latest version
of RighTime and its associated programs and documentation is always
available on The RighTime Company BBS (2400-33600 N81), and on our
Internet web page at www.RighTime.com.

     These commercial programs and other files are the copyrighted
property of G.T. Becker and The RighTime Company, Miami, USA.  All
rights are reserved.

     You may use the evaluation package for up to 90 days, and
you may - and are encouraged to - pass the unmodified distribution
file along to others, but you may not modify, rename, rent, lease or
sell the programs or files under any circumstances (except shareware
distributors, who may charge a reasonable distribution fee).
RighTime will notify you when the evaluation period has elapsed.  If
you choose to continue to use RighTime you must register your use.

     To register with a Visa, MasterCard or American Express credit
card, call +1(305)644-6500 or fill in the form at the end of this
document and send it with US$44 payment (credit card, or a check on
American funds) for each machine that is to run RighTime to The
RighTime Company, 590 Southwest 23 Avenue, Miami, Florida 33135-3123
USA.  You may also register for $35 if you can take the package
electronically or if you do not need a printed manual.  For volume
pricing and site licensing, call (305)644-6500 or contact us at
RighTime@RighTime.com.


What Does RighTime Do?

     RighTime exploits the better qualities of each of the two
clocks in the system and improves upon them by doing four
fundamental things:

     1)   RighTime slaves the operating system clock (which has
higher resolution) to the CMOS RTC (which has higher stability).

     2)   RighTime augments the operating system clock driver
routines with its own routines, which provide resolution in excess
of 0.01 second.

     3)   RighTime monitors time set commands (and the equivalent
system calls from any program) to learn the CMOS RTC clock error
rate.

     4)   RighTime improves and maintains accuracy by regularly
calculating and applying corrections or adjustments to each clock.
The operating system clock is normally corrected every second.  The
CMOS RTC is adjusted as required.

     RighTime intrinsically sets the CMOS RTC and solves the
midnight rollover date error that exists in most DOS/BIOS
combinations, and solves the year 2000 hardware clock flaw.  Unlike
DOS alone, the CMOS RTC seconds transition will be properly set by
RighTime and the time will be set to 0.01 second resolution, and
these qualities will survive through rebooting.  If the machine is
powered off, the clocks will be appropriately adjusted for the off
period at the next boot, and a separate correction is learned and
maintained for that cool period.

     Each time you set the time, RighTime will improve the accuracy
of the corrections, which will subsequently improve the accuracy of
the clocks.  It should be easy to achieve a worst-case error of less
than 0.5 second per day (usually quickly improving to less than 0.5
second per week).  Numerous options are provided that allow fine
tuning the correction process to your system and application,
although these are rarely required.

     An option is provided which assists in automatic time setting
by directing RighTime to notify a batch file when a specified number
of days has elapsed since the last time set or if the program's
correction capabilities have been exceeded.  This feature is
available both at boot and when RighTime is resident.  Whenever it
is required, RighTime can be directed to insert a leap second at the
appropriate moment automatically.


Installation.

     1)   If you are currently running RighTime, run RighTime or
RighTLog and write down the current warm and cool correction rates,
run RighTime /K to kill the current version and then delete file
RighTime.Cor.

     2)   Make a work directory and get in it, for example:
	       MD \TEMP
	       CD \TEMP

     3)   Copy the distribution file into the new directory and
unzip it.  Verify that all of the files listed above are present.
If you're installing for the first time, continue with step 4.

	  If you have just received your registered package, all you
need to do is overwrite your evaluation files and then restart your
machine; if you haven't been using the evaluation package prior to
receiving the registered package, continue with the following steps.

     4)   Run from a DOS prompt:
            SETUP

     5)   If you know the warm and cool correction rates of your
machine from step 1, enter them in the appropriate places on the
screen.  SETUP will allow you to select many options, but you can
initially accept the defaults by simply selecting "Install"; you can
change them anytime later.

     6)   In the middle of the installation process you must
accurately set the time; after that you must type the EXIT
command to continue the installation process.  When asked to do so,
set the time accurately (preferably with a telephone time setting
program like TimeSet), and then type EXIT.  The AUTOEXEC.BAT file
will then be modified, adding a command line.  The existing file
will be renamed with an .RT5 extension.

	If you install to an existing RighTime directory,
RighTime.Cor (the corrections file) will be replaced with a new file,
and if RighTime.Log (the log file) exists, it will remain unchanged.

     7)   You will normally be directed to restart the machine by
pressing Ctrl-Alt-Del.

     8)   You may delete the contents of the work directory.

     9)   For the next few days at least, set the time accurately -
ideally immediately before you shutdown your system for the night
and immediately after booting in the morning.  If you never shutdown
your system, set the time accurately a few times each day, well
spaced.

     You should find that your system clocks rapidly become more
accurate.  If they do not, check RighTLog for invisible, unexpected
time sets (which will confuse RighTime's learning).  The name of the
program that set the time is identified in the log.  You might be
surprised to find that some programs - that have no apparent
business doing so - set the clock, usually incorrectly and almost
always disturbing RighTime; if this is so, see the /I option, below.


Setting the Time.

     If you have access to a time standard, use it.  For best
accuracy, use a telephone service time-setting program such as
TimeSet.  Alternatively, you can listen to WWV, CHU or another
shortwave time signal, or a radio network news broadcast, and be
prepared to set your clock when you hear the beep on the minute or
hour.  WWV audio can be heard by telephone at +1(303)499-7111;
another source in the US is +1(900)555-TIME, a low fee service.
Don't use a radio station that is airing a call-in talk show;
the audio is usually delayed six to ten seconds on such programs to
allow for profanity dumping, and so the beep will be equally late.
An all-news format station is probably not delayed.  To be certain,
call the radio station and ask for engineering; they will know.
Local telephone time services are usually poor; don't trust that
they are correct.  What is important is consistent accuracy.

     RighTime will monitor each time set occurrence, learning from
your adjustments.  Whenever you notice or suspect that the indicated
operating system time is insufficiently correct to satisfy you,
reset it accurately.  You will find that the clocks will become more
and more accurate and the need for adjustment will decrease,
becoming infrequent; however, FOR BEST RESULTS YOU MUST SET THE TIME
ACCURATELY AT LEAST ONCE PER MONTH (an option is provided to assist
in automating this [/S] (see Errorlevels, below).

     Allow sufficient time to elapse between time sets so that
enough error exists for RighTime to use in its correction
calculations; the more time that you allow, the better the
correction factors that are determined.  Careless time sets will
result in poor correction or even wild clock behavior; remember that
you are "training" the program, so do it well.  If you are eager,
four hours will probably be an adequate initial wait; of course, you
can use your system as you normally would during this time.  Each
time the time is set, RighTime will make appropriate adjustments to
the cool and warm correction values.


The Results.

     After a few days of your diligent time setting, the corrections
should settle to fairly constant numbers which will be true
indications of the uncorrected performance of your CMOS RTC.  Once
RighTime is installed, you can display the current corrections by
simply running RighTime again at a DOS prompt (no parameters are
required).  The correction values and other current status will be
displayed and a functional self test will normally be performed,
verifying that RighTime is currently running properly on your
system.  RighTime's log file can be displayed by running RighTLog.

     When running RighTime, whether at installation or when
resident, the program will normally be silent.  If RighTime beeps,
pay close attention to its report; it is reminding or warning you of
an unusual mode, condition or failure.  If data highlighting is not
disabled [/Y0], the warning lines will normally be highlighted.

     As long as RighTime is in use and you've been diligent in your
adjustments, and the corrections have matured, the CMOS RTC error
will not be more than 0.5 second, and the operating system clock
will be much more accurate than that.

     RighTime has limits of one week of inactivity, and one month
between time sets, that can be corrected to a maximum of 5 minutes,
27.67 seconds per occasion; beyond that, all bets are off.  In that
case, unpredictable, and probably incorrect, clock changes can
occur, but RighTime will advise you of its difficulty if it can.
For example, if your clock runs two minutes slow per day and you
don't use the system for three full days, when you boot up you will
receive a message warning that the clock needs to be adjusted
manually (or automatically; see Errorlevels, below


Microsoft Windows.

     RighTime senses when Windows is running and disables 0.01 DOS
clock mode if that is so; this is an unavoidable necessity due to
Windows' task management method.


RighTime Command Line Syntax.

     RighTime must be executed in the AUTOEXEC.BAT (or a batch file
called by it) so that it becomes a resident extension of the
operating system.  Most of the options available can be expressed at
this initial resident invocation.  RighTime can also be run as a
transient program at a DOS prompt to change modes or to report on
its current status.  A smaller number of options are effective in
the transient execution.  Each option listed below indicates when -
resident or transient or both - it can be used.  The options are not
case sensitive (either /f or /F will work) and space between options
is not required.  There must be no space between an option switch
and its associated parameter.

     RighTime  [/F[M|R]|/R[[M]n]|/N] [/Un] [/W[n]] [/C[n]] [/Dn]
[/L0] [/L] [/In] [/G[A|0]] [/K|/T[H|D|A]|/E] [/M[I]n] [/A] [/Sn]
[/Yn]  [/On] [/Xn] [/Hn] [/Pn] [/Q] [/V0] [/-|+] [/#] [/?]

Storage:  /F=File[coM|coR] /R=cmosRam[[Mca]addr] /N=None /Umin=Update
Correction:    /W[Warm] /C[Cool] /Dmin=warmupDelay /L0=NoLearn
State:    /Inum|"name"=Ignore /K=Kill /T=Tempdisable[Hund|Dos|All]
	  /E=Enable
Other:    /M[I]port=coMport /A=autoseAsonchange /Sdays=autotimeSet
	  /G=log[All] /Ohunds=Offset /Xhours=eXtrapweight
	  /V0=notVerbose /Ycolor=forceansi.Sys /Hbytes=stacklengtH
	  /Pint=interruPt /Q=Quiet,noselftest /L=LoadLow
	  /[-|+]=LeapSecond /#=Lock /?=Help

where:

     /A   Automatic Daylight/Standard time change.  Implements the
American standard biannual one hour adjustments at 0200 local time
on the first April and the last October Sundays whether the machine
is running or not.  [This option is not useful in counties that do
not follow the American rule, since it is implemented in hardware.]
If RighTime is running, there will be no detrimental effects caused
by the time change.  If the machine is not running, the time change
will shift the time-since-last-time-set by one hour which can, in
turn, have an effect upon the next time set's learning.  The error
will normally be small and will diminish with subsequent time sets.
The Dallas Semiconductor DS1287 and DS12887 and Motorola's
MCCS146818B1M properly implement the time change rule as do most
modern brand name chipset-based machines, but many machines are
supplied with the Motorola MC146818A or its equivalent even today.
These parts will misbehave in April, advancing the clock on the last
Sunday (which was the convention prior to 1986).  Some modern
chipset-based machines do not provide this facility and will not
change at all.

	  [Applicable at resident invocation only.]

     /Cn  Sets the initial cool correction rate in seconds per day
(default 0, maximum +327.67 or -327.68).

	  [Resident only]

     /Dn  Changes the cool adjust period allowance (after boot) from
the 30 minute default.  The valid range is 0 to 60.  Consider this
option if your system exhibits a large difference in warm and cool
corrections and cabinet temperature is suspect, or if you need to
disable cool correction.

	  /D0  Disables cool correction.  Applies the warm
correction value at all times and learns only a warm correction
value from observed error.  This is useful to users who never shut
down their systems or who switch to and from other operating systems
that cannot run RighTime.

	  [Resident only]

     /E   Reenables all temporarily disabled RighTime functions.  If
/TA has been in effect for less than the maximum period allowed
(this duration depends on the warm correction value and is displayed
when /TA is invoked) the clocks will be properly adjusted to correct
for the disabled period.

	  [Transient only]

     /F (or /FM)    Directs RighTime to store corrections in and
retrieve corrections from its own program file.

	  /FR  Directs RighTime to store correction factors in
RIGHTIME.COR, a data file that will be created in RighTime's
directory.

	  [Resident only]

     /G   Activity logging.  Creates and maintains a comprehensive
file of all user and program time-related activities.  It produces a
binary file, RighTime.Log, which is displayable with program
RighTLog.  This is an informative and valuable diagnostic tool.

	   /GA Includes routine one-second CMOS clock adjustments in
the log.  On a machine whose warm correction is large, these will be
frequent and will clutter the log.

	  /G0  Disables logging.

	  [Resident only]

     /Hn  Internal stack length.  The default is 256 bytes; valid
range is 64 to 1024 bytes.  Since RighTime is an operating system
extension, its stacks might be used by other programs for brief
periods.  If this option is expressed, RighTime will report on
current internal stack usage.  Following a system crash, when
RighTime is restarted it will report on the stack usage prior to the
crash (/F and extended CMOS /R, only).  If the crash was due to
insufficient stack space, this parameter value must be increased.
There is no relationship between this option and the STACKS command
in Config.Sys.

	  [Resident only]

     /In  Ignore time and date sets, semi-permanently (/I-1,
restored via /I0), for a specific count (e.g. /I2), or from all but
a single specified program (e.g. /I"TimeSet") to prevent the
spurious time and date sets of several utilities, screen savers,
games and other facilities from confusing RighTime's learning and to
allow time comparison without setting.

	  When used with /#, system time sets can be altogether
disallowed or restricted to a specific source.  /#/I"NET", for
example, would assure that the time cannot be set from any source
other than NET.  The workstation system time could be set no other
way, assuring that the time could be not falsely set.  See /#.

	  [Resident or transient]

     /K   Terminates (kills) RighTime function.  RighTime remains
resident but most functions are disabled.  The year 2000 CMOS RTC
century correction, however remains active and cannot be disabled.

	  [Transient only]

     /L   (with no parameter) forces RighTime to load in
conventional low memory.  Without this switch, RighTime will
attempt to locate itself in high memory if it is available.

	  [Resident only]

     /L0  No learning; RighTime ignores errors at any time set
and applies fixed corrections at all times.

	  [Resident only]

     /Mn  Directs RighTime to suspend all functions (except time and
date set and read processes) while the specified communications port
indicates that DCD (Carrier Detect) is active.  n may be any of 1
through 4, corresponding to COM1 through COM4.  This option can be
used to prevent RighTime from potentially interfering with
communications functions.  Normal function will resume when
communications activity ceases.  Several /M switches may be
specified; for example, a system with both COM1 and COM2 serial
ports monitored would have /M1 /M2 specified in RighTime's
invocation.  /M0 disables DCD monitoring until the next /M
invocation.

	  PROPER DCD CONTROL REQUIRES THAT &C1 BE PART OF THE ACTIVE
HAYES-COMPATIBLE MODEM CONTROL STRING.

	   The COM port, IRQ and I/O address assignment is standard:

		    Port IRQ  Address

		    COM1 IRQ4   3F8
		    COM2 IRQ3   2F8
		    COM3 IRQ4   3E8
		    COM4 IRQ3   2E8

	   Specify the port number, not the IRQ.  For example, IRQ3
will be monitored if either /MI2 or /MI4 is specified.  Nonstandard
IRQs can be accommodated by the /Pn option.

	  /MIn will count IRQ activity rather than watch DCD level.
If the IRQ that corresponds to the specified COM port is active
(determined by a non-zero count over a 0.5 second period), RighTime
functions will be suspended as above.  Normal function will resume
after a similar period of no IRQ activity.  The /MI method will not
work when communicating from within Microsoft Windows.  See also
/Pn, below, for nonstandard IRQs.  /M0 disables IRQ monitoring until
the next /M invocation.

	  [Resident or transient]

     /N   Disables correction storage.  Learned corrections will be
lost at shutdown and there will be no cool correction possible.

	  [Resident only]

     /On  Offset allows DOS clock trim in seconds.  The valid range
is -90.00 to +90.00; the default is 0.  This can be used to
anticipate relay and contactor actuation delays and motor start
times in process control system applications.

	  [Resident only]

     /Pn  Interrupt monitoring for use in special applications.  If
the specified interrupt (expressed in decimal) is active (as in
/MIn, above), RighTime functions will be disabled until interrupt
activity ceases.  /P0 disables interrupt monitoring until the next
/P invocation.

	  Nonstandard serial port IRQ activity can be monitored by
translating the IRQ to its corresponding interrupt:

		    IRQ  Interrupt
		     2        10
		     5        13
		     7        15
		     9        113
		    10        114
		    11        115
		    12        116
		    15        119

		    To monitor IRQ5, for example, use /P13.

	  As with /MIn, this method of communications IRQ monitoring
will not work from within Windows.

	  [Resident or transient]

     /Q   Defeats self testing and quiets minor status messages.

	  [Resident or transient]

     /Rn  Directs RighTime to store corrections in CMOS RAM.

	  /Raddr directs RighTime to store corrections in CMOS RAM.
The default address is 63, but it is increasingly unlikely that this
will be a usable address; the address can range to 127.  The
specified location is that of the last of 12 bytes for the default
address, or the last of 22 bytes for any other location.  Using the
default will not provide full features and is maintained for
compatibility with earlier RighTime versions.  This option is
potentially harmful, since a careless value might allow RighTime to
overwrite setup data.  Inadvertently changing a hard disk type, for
example, can lead to sadness.  Be careful.

	  /RMaddr will place the corrections in MCA-type CMOS RAM.
There is no default; an address must be specified.  The specified
location is that of the last of 22 bytes.  The valid address range
is 22 to 127 for 82360SL-type CMOS RAM and 274 to 2047 for PS/2
MCA-type CMOS RAM.

	  [Resident only]

     /Sn  Changes the period that must elapse since the last time
set before RighTime will set the corresponding program termination
code.  The termination code can be tested with the IF ERRORLEVEL
command in a batch file.  If this switch is not expressed, the
default period is 28 days.  If more than the specified period has
elapsed since the last time set, RighTime will terminate with an
ERRORLEVEL of 1.

	  [Resident or transient]

     /T   Temporarily disables RighTime functions.

	  /TH       disables 0.01 second DOS clock maintenance.

	  /TD or /T disables operating system clock maintenance;
	       CMOS clock maintenance continues.  This mode can
	       persist indefinitely.
	  /TA       disables all RighTime functions (including
	       logging) and reports the maximum allowable disabled
	       duration.  If the disabled period is expected to
	       exceed this duration, use /K instead, then restart
	       RighTime as in the AUTOEXEC.BAT invocation with /D0
	       to force warm correction.

	  These disabled modes can be reenabled with /E.

	  [Resident or transient]

     /Un  Changes the CMOS RAM or disk file update period from the
two minute default.  The valid range is 2 to 60, and the value must
be even.  If you think the default is unnecessarily frequent, you
can decrease it by increasing this value.  Remember that this is
part of the cool correction process, and less frequency might affect
correction accuracy in severe situations.

	  [Resident only]

     /V0  Non-verbose.  No screen output will be generated
(including error messages).  This option is available to registered
users only.

	  [Resident or transient]

     /Wn  Sets the initial warm correction rate in seconds per day
(default 0, maximum +327.67 or -327.68)

	  [Resident only]

     /Xn  Sets the error extrapolation weighting threshold.  This
can desensitize RighTime's learning by decreasing the significance
of the observed error from any time set whose previous time set was
less than n hours ago by a linear factor (e.g. for the 4-hour
default, the observed error from the second of two time sets that
are one hour apart is considered only 0.25 significant), range 1 to
72 hours.

	  [Resident only]

     /Yn  Forces data highlighting if a non-standard ANSI.SYS is
undetectable or if colors other than the white-on-black default are
desired.  n is normally a two-digit value whose first digit
represents the background color, while the second digit determines
the foreground color.  Standard ANSI color numbers are expected:

	       0=Black   4=Blue
	       1=Red     5=Magenta
	       2=Green   6=Cyan
	       3=Yellow  7=White

	  White-on-red, for example, results from /Y17.  To force
the default on a non-standard ANSI driver, use /Y07 or simply /Y7.

	  /Y0  Automatic significant data highlighting (if ANSI.SYS
is present) is defeated with /Y0.  To produce a text file of
RighTime's report without ANSI sequences, use /Y0, redirected to
disk.

	  [Resident or transient]

     /#   Lock RighTime command line interface.  Placed on the
AUTOEXEC.BAT invocation, this switch will prevent any transient
RighTime execution from having effect.  Although RighTime command
lines will continue to be checked for validity, no action will be
taken on any command, making it impossible to change RighTime's mode.

	  If /I-1 is also used in the AUTOEXEC.BAT, it will normally
not be possible for the system time or date to be changed except via
the system BIOS setup screen.  See /I.

	  [Resident or transient]

     /?   On screen help memory jogger.  This is automatically
produced if the command line contains a syntax error.

	  [Transient only]

     /+   Arm leap second insertion.  Every 18 or 24 months or so,
the International Earth Rotation Service declares the need for a one
second correction in UTC.  A leap second can theoretically be
positive or negative (inserted or deleted), but only positive leap
seconds are expected for the forseeable future; RighTime can only
insert a leap second, not delete one.  If enabled, the leap second is
inserted at the end of the current UTC month, so the current month
will be one second longer than it would otherwise be.  Since the
insertion must occur in terms of UTC, the local time zone must also
be expressed via the /Z switch.  Leap second arming needs to be done
only once, anytime during the month called for.  For example, if
	       RighTime /+ /Z-8
is executed at a DOS prompt, a leap second will be inserted at
15:59:60 on the last day of the month on the west coast of the US
(assuming that the machine is maintaining local time).


	  /-   Disarm leap second insertion.

	  /Zn  Local time zone; used by leap second handling.
	       The parameter is the number hours of local offset from
	       UTC.  Eastern Standard Time in the US, for example, is
	       expressed as /Z-5.


Errorlevels.

   RighTime provides four unique termination ERRORLEVELs.  The
ERRORLEVEL value can be tested in a batch file to guide subsequent
operations.

     Code value     Indication

	  0    Installed normally, cool correction within range,
last time set within specified elapsed period.

	  1    Installed, cool correction within range, but more
than the specified period has elapsed since a time set.

	  2    Installed, but cool correction was out of range (the
system has been inactive too long), so a time set is externally
required.

	 255   Not installed due to syntax error, insufficient
memory, incompatible hardware, etc.

     These codes can be tested in a batch file with the IF
ERRORLEVEL command.  For example, if the ERRORLEVEL value code is 1,
then more than 28 days have elapsed since the last time set (this
duration can be changed with the /S option).  It would be wise to
have a time setting program such as TimeSet automatically set the
time in this situation to prevent RighTime from exceeding its one
month limit, or you could cause execution of the system DATE and
TIME commands to urge the user to set them manually.

     For example, a typical AUTOEXEC.BAT sequence might be:

	  C:\RT\RighTime
	  IF ERRORLEVEL 255 ECHO "** Trouble with RighTime load **"
	  IF ERRORLEVEL 1 TimeSet.Exe [in automatic configuration]



Additional programs.

TestTime

     Included with RighTime is a program tool that can provide some
interesting insight into the relationship of the clocks in your
system and the function of RighTime.  TestTime takes no command line
parameters.  It will determine and express whether or not RighTime
is running in the system, tests and reports on some critical modes,
and it provides a continuous single line display of the clock system
status.

     The status line is straightforward:

     CMOS=date:hh:mm:ss DOS=date:hh:mm:ss.hh !Ap=+0.00 Me=+00.0000

     where:

     "CMOS" is the CMOS RTC clock data.  An indicator following the
CMOS seconds data will flash each second if the CMOS RTC interrupts
are normal.

     "DOS" is the DOS system clock data, including hundredths.  The
hundredths digit might appear to be less than a blur due to your
video vertical scan rate.  It should be possible to see the
difference between 0.01 second DOS clock mode and the standard 0.055
second mode [/TH].

     "Ap" is the current correction being applied to the DOS clock
in hundredths, if RighTime is resident.  The exclamation mark (!)
before it indicates the moment that the DOS clock is corrected.
This normally occurs every second, but it can be skipped
occasionally if internal resources don't allow it.

     "Me" is the signed time difference between the CMOS RTC and DOS
clock in seconds, resolved to four decimal places (tenths of
milliseconds).  A positive difference indicates that the DOS clock
leads the CMOS RTC (it displays a higher, later, advanced time).
Under normal conditions, this value should be well within a few
milliseconds of the "Ap" value; how close it will be will depend
upon the machine architecture and - to a lesser extent - on machine
speed.  It is usually possible to directly view the clock drift at
this resolution; the difference might increase for awhile, then
suddenly revert back to a value close to the "Ap" value each time
the DOS clock is corrected.

     You can use TestTime to learn much about the behavior of the
two clocks in your system.  Try running it without RighTime
installed and notice that the DOS clock is never the same as the
CMOS RTC.  Set the time and run TestTime again.  If your DOS sets
the CMOS RTC, check to see if the seconds are synchronized, which is
indicated by a "Me" value of essentially zero.  They probably are
not.  Run TestTime some time later and see if the relationship
between the clocks has changed; there's a good chance that it will
have.  Which, if either, is correct?  Notice also that the "Me"
value flops around several hundredths of a second; this is due to
the 0.055 second standard DOS clock resolution.  Try these things
with RighTime installed and see the difference for yourself.  If
RighTime is doing its job, you should see that "Ap" and "Me" are
essentially the same value - the former is the cause, and the latter
is the effect.


TestStep

    TestStep measures and displays the difference between one unique
DOS clock time and the next.  With RighTime running normally, this
value should always be 0.01 second.  Without Rightime running or
when the 0.01 DOS clock mode is disabled [/TD or /TH] or when
Windows is running, the value will average about 0.0549 second.
TestStep also counts interrupts 8, 1Ch, 4Ah and 70h, and it displays
the difference in the DOS clock tick count after the test period.

     The test will normally run for five seconds, but this can be
changed with a command-line parameter; the display can also be
blanked to help avoid false results on slow machines, and the
results can be directed to the default system printer.

     For example,

	  TestStep 15 B P

     will run the test for 15 seconds without a real time display,
and print the results.

     TestStep also runs a BIOS year real time rollover test to
determine if the machine is - in that aspect only - year 2000
compliant.


ViewCMOS

     ViewCMOS displays the contents of CMOS RAM, which includes the
hardware clock data.  On systems that contain additional extended
CMOS RAM that is addressed like PS/2 MCA CMOS (the x86-SL, for
example), its presence is indicated.  The full-screen display can be
switched from conventional CMOS RAM to the MCA-type CMOS RAM
contents.  A message will announce that there is no MCA CMOS
available if that is the case.


RighTLog

     File RighTime.Log will normally be present in the directory
from which RighTime is run.  RighTLog will display this binary
file.  Each time-related activity will be logged.

     The most important of the log's indications is the source of
each time and date set.  If a time or date set is present whose
source you do not recognize, it is likely that the time is being set
by a program that has no business doing so.  Some program names
might contain non-displayable characters which RighTLog replaces
with an underscore; these programs are more difficult to identify,
but are often resident modules like screen savers.  These time and
date sets will disturb RighTime's learning and can compromise the
accuracy of the system clocks.  As discussed above, these errant
time and date sets must be ignored with RighTime's /I switch.

     /GA will also log each CMOS RTC adjustment.  These entries can
become annoyingly numerous if the warm correction value is large.
/GA is not normally required.

	The log can be directed to a printer or to a file.  For
example, running RighTLog LPT1: will print the log on LPT1:, or
running RighTLog LOG.DAT will write the log data to file "LOG.DAT".


MakeIRIG, TakeIRIG

     These tools transmit and receive 100Hz IRIG time code via a
parallel port, permitting precise synchronization of multiple
machines.  See MakeTake.Txt for details on these tools.


Daylight

This tool provides a simple mechanism to advance the operating
system clock one hour during the Daylight Savings Time season in
the USA.  If you choose to use this tool, keep the machine clock
on standard time all year.  Run Daylight /? for more information.


Year2000

For machines that need the year 2000 hardware clock fix - without
the comprehensive solution that RighTime offers - this is the
answer.  A BIOS upgrade is rarely required, and is much more
difficult and expensive than applying this simple software
solution.  This is an evaluation version that can be used freely
for non-business personal use, although it is unnecessary if the
machine is running RighTime; Y2KPCPro, the business licensed
version, is inexpensive.


If You Have Trouble.

     You might find answers to problems in application notes that
can be found on the BBS or Internet web page.  If you are unable to
resolve the problem, please note the symptoms and circumstances as
thoroughly as is reasonably possible and contact:

     The RighTime Company
     590 Southwest 23 Avenue
     Miami, Florida 33135-3123 USA

     BBS:      (305)644-6185
     Fax:      (305)644-6515
     Voice:    (305)644-6500
     Email:    RighTime@RighTime.Com
     Web page: www.RighTime.com



RighTime Software License Agreement.

When you register, this will be the agreement between you (the user)
and The RighTime Company to which both parties are bound upon the
payment and acceptance of the license fee, which is part of the
registration fee for RighTime and its associated programs.

Grant of License. In consideration of the payment of each license
fee by the user to The RighTime Company, The RighTime Company will
license to the user a nonexclusive right to use one copy of each of
the software programs in the RighTime package on one computer at a
time.  The license is expressly for program use only, per the terms
of the license.  No other rights are implied.

Ownership of Software. The RighTime Company is the owner of the
software programs and holds full title to them.  The user may own
the physical media on which the software programs are recorded,
including the original disk which is provided by The RighTime
Company to the user, but the user does not own the software programs
nor any copy of the software programs.

Copies. The software programs and the documentation are copyrighted
and therefore may not be copied without permission.  Permission is
granted to the licensed user to make copies of the software programs
and the documentation as required in the conventional course of
computer system data backup.  Permission is granted to copy the
shareware distribution file in its complete, unmodified form.  No
other permission to copy is granted.

Use and Transfer. The Grant of License applies only to one copy of
each of the software programs.  Simultaneously functional resident
copies of the software programs each require licensing.  You may not
transfer any copy (except the shareware evaluation distribution
file) of the software programs to a computer which is not under your
control, nor may you rent, lease, sell or otherwise assign control
of the software programs to anyone.

Termination. The license is in effect until it is terminated.  When
the license is terminated, the user's rights that are granted by the
license are revoked.  The license is automatically terminated
without notice upon violation of any of its terms.

Disclaimer of Warranty. No warranty of performance or suitability is
expressed or implied.  Every effort has been made to make the
software programs deliver as the documentation describes, but the
correctness for your application or environment cannot be assured.
The RighTime Company cannot assume responsibility for the failure of
the software programs, nor for any consequence of their use.



     RighTime Registration Form               Evaluation Version 5.06

     Fill out form, enclose required funds, email, fax or mail to:

     The RighTime Company
     590 Southwest 23 Avenue                     Fax: +1(305)644-6515
     Miami, Florida 33135-3123 USA       Email: RighTime@RighTime.com


     Name: __________________________________________________________

     Business name: _________________________________________________

     Address: _______________________________________________________

	         _______________________________________________________

     City:__________________ State:_______ Postal Code: _____________

     Country:___________________   Telephone:________________________

     Email:_____________________________

     Where did you get RighTime?_____________________________________

     The registration fee is US$35.00 each for up to 10 copies,
     delivered by email or on diskette.  The fee for a diskette with
     printed manual is $44.00.  Call for larger quantity pricing.

     How many copies?_____  Via Email?___($35) Only diskette?___($35)
                                Diskette with printed manual?___($44)

     Registered upgrade: $17.50 or $22.00. Reg #_____________________

     Total enclosed or authorized:  US$__________

     Make check or money order payable to The RighTime Company
     OR
     Purchase Order Attached____  P.O. Number________________________
     OR
     Credit Card Type:  Visa____  MasterCard____  AmericanExpress____

     Card Number:______________________________  Expiration:_________

     Card Holder Name:_______________________________________________

     Thank You!
